The technology here described relates to the manufacture of computer systems.
Currently, the manufacturing test of computer systems, and particularly for server systems from low-end to high-end systems, involves a high amount of interaction with the System Under Test (SUT) Service Processor (SP). This interaction with the SP forms the basis from which a suite of manufacturing test cases are developed in order to either stress the SUT's hardware or perform other manufacturing process actions. From the beginning of development all the way through the production phases of the computer system product, there are a number of issues encountered that hinder the development, maintenance, and debug of the software test cases.
These issues include:
There likely is limited hardware available during development with which software engineers may prototype and develop test cases, yet there is a business expectation to have the test cases ready for manufacturing production within a short time frame.
There may be a constant and rapid succession of SP driver releases from the initiation of development up to general availability of the computer system product with SP command functionality and output format changing, often without notice. This can cause test case code to break, and in turn require time and resource to fully debug.
Large configured systems can cause configuration dependent SP commands to take a significantly longer time to execute. This impedes the development and debug of the test case code.
Limited hardware configurations available for test case development may make it difficult to verify all good and bad code paths. Even if every configuration were available, it would be very time consuming to run through all the varying scenarios.
There is a need in manufacturing operations to debug failed test cases quickly because any extended time allocated for debug could prevent the computer system under test from shipping to the customer.
Test case debug may be hindered by poor code readability, especially in segments that perform extensive data manipulation, which makes it difficult to interpret and piece together the original output context.
With server development being on shorter cycles, hardware availability becoming increasingly limited due to higher costs, in addition to systems becoming larger and more complex, manufacturing test cases need to be prototyped earlier and debugged faster but still retain a high quality standard of code.